---------------------------------------------------------------------------------------------------- INPUT MAPPING HELP TEXT ---------------------------------------------------------------------------------------------------- The purpose of this document is explain how to use StarSiege's input mapping utility. It will allow complete control over how you control your HERC. SECTIONS: 1. CREATING A CUSTOM KEYMAPPING 2. USING MAKES AND BREAKS 3. USING PARAMETERS 4. LOADING A CUSTOM KEYMAPPING 5. INPUT 6. ACTION DEFINITIONS 7. EXAMPLES 1. CREATING A CUSTOM KEYMAPPING ------------------------------- First, open any *.cs file located in the install directory (usually c:\games\Es3Alpha\Keymaps) Notice that it is divided into 3 different sections ( Camera, CameraOrbit,and Herc ). The different sections indicate the control scheme for different control modes. For example, when piloting a HERC, the Herc control section will be used, or when in an external camera view, the CameraOrbit control section will be used. The Keymapping files can be nested, or "included" within each other. In the Joystick.cs file, the following lines indicate other keymap files that are combined with the joystick.cs file to create a complete keymap for multiple input devices and functions: #------------------------------------------------------------------------------ # include generic camera controls exec _defCamera.cs #------------------------------------------------------------------------------ # include generic keyboard controls exec _defKeyboard.cs This is done mainly for convenience. If you wish to create a single file that contains "everything" you can do so. 2. USING MAKES AND BREAKS ------------------------------- It is crucial to use the "make" and "break" keywords correctly. When binding input to actions such as firing, moving, or looking ( actions that should generally occur only when holding down a key or button ), use the "make" to initiate the action, and "break" to turn it off. Example: "bindAction keyboard make space TO ACTION_FIRE 1.0" "bindAction kyboard break space TO ACTION_FIRE 0.0" The value at the end represents a toggle, where 1.0 is on and 0.0 is off. 3. USING PARAMETERS -------------------------------- Most actions require a value at the end of a binding statement ( see ACTION DEFINITIONS below for more info ). There are five additional parameters that you have the option of using. They are: flip: Reverses the coordinate system for the chosen action (ACTION_YAW -1.0 would turn left instead of right) Example : "bindAction joystick yaxis TO ACTION_LOOK_Y flip" deadzone: Kills all input that lies within the specified range. (e.g.,If you enter 'deadzone 0.1', the deadzone will be 10% of your total axis ). Example: "bindAction joystick xaxis TO ACTION_YAW deadzone 0.1" center: Centers your the coordinate system of your control device from (0.0, 1.0) to (-1.0,1.0) Example: "bindAction joystick yaxis TO ACTION_SPEED center" square: Changes the growth rate of constant input (e.g., pulling down on a joystick)from linear to parabolic. Example: "bindAction joystick yaxis TO ACTION_SPEED square" scale: Scales the sensitivity of an input signal, based on the value you give it. Example:"bindAction joystick zaxis TO ACTION_SPEED scale 0.2 Note that it is possible to string five of these parameters onto the end of one action. For example, you could enter a line that looked like this: "bindAction joystick yaxis TO ACTION_SPEED deadzone 0.2 center square scale 0.1". This would have the effect of giving a deadzone of 20% in the center the yaxis of your joystick, while scaling the input signal by a factor of 0.1. Pushing forward would increase your HERC's forward throttle at a parabolic rate, and pulling back would do the same thing, in reverse. Obviously, other combinations are possible. 4. LOADING A CUSTOM KEYMAP FILE -------------------------------- In order to load a custom keymap file, it needs to be located in the ..\es3Alpha\keymaps directory. At the Player Setup Menu, click on the Input Configuration field. This will call up a list of the available KeyMap files. Highlight the one you want to load. 5. INPUT -------------------------------------------------------------------------------------------- JOYSTICK INPUT( keyword is "joystick" ): "zaxis" "yaxis" "xaxis" "rzaxis" "xpov" "ypov" "button0" "button1" "button2" "button3" "button4" "button5" "button6" "button7" "button8" "button9" "button10" MOUSE INPUT( keyword is "mouse" ): "xaxis" "yaxis" "zaxis" "button0" "button1" "button2" "button3" KEYBOARD INPUT( keyword is "keyboard" ): Note that key modifiers( alt, shift, control) are supported, but the modifier must come before the key (e.g., "shift s"). Any key not listed below is represented by it's direct keyboard character. "escape" Esc "backspace" BackSpace "tab" Tab "enter" Enter "control" Control "shift" Shift "alt" Alt "capslock" Caps Lock "numlock" Num Lock "numpad1" Numpad1 "numpad2" Numpad2 "numpad3" Numpad3 "numpad4" Numpad4 "numpad5" Numpad5 "numpad6" Numpad6 "numpad7" Numpad7 "numpad8" Numpad8 "numpad9" Numpad9 "numpad0" Numpad0 "numpad+" Numpad plus "numpad-" Numpad minus "numpad/" Numpad slash "numpad*" Numpad star "scroll" Scroll Lock "numpadequals" Numpad Equals "stop" Stop "numpadenter" Numpad Enter "numpadcomma" Numpad Comma "sysreq" Print Screen/ Sys Req "home" Home "up" Up Arrow "down" Down Arrow "left" Left Arrow "right" Right Arrow "end" End "next" Next "insert" Insert "delete" Delete "win" Windows "app" Apps 6. ACTION DEFINITIONS ------------------------------------------------------------------------------ ACTIONS PARAMETER DEFINITIONS ACTION_NAVPOINT_NEXT No value needed, Selects to next navpoint ACTION_NAVPOINT_PREV No value needed, Selects to previous navpoint ACTION_NAVPOINT_SET Value selects navpoint ACTION_NEXT No value needed, jumps to next HERC while in OrbitCamera mode ACTION_PREV No value needed, jumps to previous HERC while in OrbitCamera mode ACTION_REVERSE_THROTTLE: No value needed, toggles reverse throttle ACTION_LOOK_CENTER: No value needed, centers pov ACTION_ZOOM_SET: Values range from 0.0 to 1.0, sets zoom level ACTION_ZOOM_ADJUST: Values range from -1.0 to 1.0, adjusts zoom level based on value ACTION_SPEED: 1.0 equals max speed, -1.0 equals reverse, 0.0 equals stop ACTION_ROLL: 1.0 equals max roll left, -1.0 equals max roll right ACTION_PITCH: 1.0 equals max pitch forward, -1.0 equals max pitch backwards ACTION_YAW: 1.0 equals max yaw left, -1.0 equals max yaw right ACTION_STOP: No value needed, stops the HERC ACTION_MOVE_X: 1.0 move the camera to the left, -1.0 moves the camera to the right ACTION_MOVE_Y: 1.0 moves the camera towards your pov,-1.0 moves it away ACTION_MOVE_Z: 1.0 moves the camera up, -1.0 moves the camera down ACTION_WEAPON_ADJ: 1.0 selects next weapon, -1.0 selects previous weapon ACTION_SELECT_WEAPON: Values range from 0.0 to 8.0, number indicates which weapon to select ACTION_REACTOR: No value needed, turns power off ( crucial for using loading and healing pads ). ACTION_LOOK_X: 1.0 looks left, -1.0 looks right ACTION_LOOK_Y: 1.0 looks up, -1.0 looks down ACTION_FIRE: 1.0 fires, 0.0 stops firing, -1.0 fires ALPHA strike (all weapons) ACTION_WEAPON_LINK No values, needed, works as a toggle to link like weapons ACTION_CAMOUFLAGE: No value needed, toggles camouflage ACTION_USE_PROJECTILE_CAM: No value needed, camera follows your next shot ACTION_CROUCH: 1.0 crouches, 0.0 stops crouching ACTION_SHIELD: No value needed,toggles shields ACTION_SHIELD_TRACK No values needed,toggles, toggles shield track ACTION_SHIELD_FOCUS_SET: Value ranges from 0.0 to 1.0, value sets focus ACTION_SHIELD_FOCUS_ADJ : Value ranges from 0.0 to 1.0, Value is added to current focus of your shield ACTION_SHIELD_ROTATION_ADJ: Value range from 0.0 to 1.0, Value is added the current position of your shield ACTION_SHIELD_ROTATION_SET: Value ranges from 0.0 to 1.0, value sets shield position, with 0.0 being front. ACTION_TARGET_ADJ: 1.0 targets the next available target, -1.0 targets the previous available target ACTION_TARGET_CLOSEST: No value needed, Targets closest targettable object ACTION_TARGET_SELECTED: No value needed, Targets object currently underneath reticle ACTION_SENSOR_RANGE_TOGGLE: No value needed, toggles radar ACTION_SENSOR_RANGE_SET: Values range from 1.0 to 0.0, sets range of sensors ACTION_SENSOR_MODE_TOGGLE: No Values needed, toggles from passive to active 7. EXAMPLES ----------------------------------------------------------------------------------- These examples are some of the more commonly asked questions about creating a custom keymapping: Q: How do I use my joystick axis to look? A: bindAction joystick xaxis TO ACTION_LOOK_X deadzone 0.1 center square bindAction joystick yaxis TO ACTION_LOOK_Y deadzone 0.1 center square Q: How do I use the joystick hat to look? A: bindAction joystick xpov TO ACTION_LOOK_X flip bindAction joystick ypov TO ACTION_LOOK_Y Q: How do I reconfigure the throttle ? A: It depends on which device you want to use as input. For keyboard, you might want something like this: bindAction keyboard make up TO ACTION_SPEED +1.0 bindAction keyboard break up TO ACTION_SPEED 0.0 For joystick zaxis ( throttle ): bindAction joystick zaxis TO ACTION_SPEED deadzone 0.1 center square Q: When I look with my mouse/ joystick/ keyboard, the HERC response seems backwards. How do I fix this ? A: Simply add the flip parameter at the end of the appropriate action in your custom keymap file. If flip is already there, remove it. This will flip the logical response of your HERC. Q: I added a keyboard command, but it dosn't seem to work. What's the deal? A: Make sure you typed 'make' or 'break' before the specific key you wanted to bind. Otherwise nothing will happen. Also, key combinations involving more than two keys will not work. Q: Whenever I try to use the joystick hat, my HERC fires or does some other incorrect action. A: Most likely you need to recalibrate your joystick. To do this, select Start menu/settings/control panel/Game Controllers. and calibrate.